import os
import mmap

# 想内存映射一个二进制文件到一个可变字节数组中，目的可能是为了随机访问它的内容或者是原地做些修改
# access设定访问模式
def memory_map(filename, access=mmap.ACCESS_WRITE):
    size = os.path.getsize(filename)
    fd = os.open(filename, os.O_RDWR)
    return mmap.mmap(fd, size, access=access)

def demo_1():
    m = memory_map('../temp/sample.bin')
    # memoryview函数可以用过零复制的方式对已存在的缓冲区执行切片操作，可以修改内容
    v = memoryview(m).cast('I')
    print(v[0])
    print(len(m))
    print(m[0:5])

if __name__ == '__main__':
    demo_1()